Methods and apparatus for controlling content distribution

ABSTRACT

Methods and apparatus for controlled distribution of program content are described where program content for certain regions may be selectively blocked. The described methods and apparatus allow content distribution to authorized regions while providing control to the content provider to effectively block program content delivery to regions not entitled to receive the program content.

RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 14/454,056 filed Aug. 7, 2014, which is a continuation of U.S.patent application Ser. No. 12/409, 941 filed Mar. 24, 2009 which claimsthe benefit of U.S. Provisional Patent Application Ser. No. 61/142,184,filed Dec. 31, 2008 titled “METHODS AND APPARATUS FOR CONTROLLINGCONTENT DISTRIBUTION”, each of the above listed applications is herebyexpressly incorporated by reference in its entirety.

FIELD OF THE INVENTION

The present invention relates to methods and apparatus for controllingdelivery of program content, and, more particularly, to methods andapparatus that support controlled blocking of program content deliveryin some regions, e.g., certain geographic regions on a selective basis.

BACKGROUND OF THE INVENTION

Content distribution, e.g., distribution of video programs and/or othercontent over large geographic regions is often performed usingsatellites to transmit the program content to be distributed to multiplelocations at the same time. Thus, through the use of satellites, theneed to transmit the same content to multiple locations though landbased connections can be avoided. Satellite distribution of content hascommercial advantages in that content delivery to multiple locationsdispersed over large geographic regions can be achieved without the needfor land based connections between the dispersed locations. Satellitedistribution often allows for the distribution of valuable programcontent such as sporting event programs in real time or near real time.Some such programs may be subject to geographic region based programcontent distribution restrictions.

Generally, the cost of having multiple satellite receiver stations hasbeen less costly than the cost of bandwidth which would be needed todistribute large amounts of content via land based links to multiplelocal distribution centers serving various geographic regions throughoutthe country. In addition, the use of satellite distribution incombination with satellite receivers at local distribution centers hasoffered a relatively high degree of control since the satellitereceivers at different distribution centers could be controlled so asnot to decode and distribute content on a per satellite receiver basisthereby preventing content delivery to the region served by a particularreceiver satellite.

FIG. 1 illustrates a known distribution system 100 used for programcontent delivery and distribution. Satellite 102 has links, e.g.,satellite communication links 103,105, with a plurality of differentlocal distribution centers 108, 118 located in different geographicregions 104, 106, respectively. Local distribution center 108 includes asatellite receiver 110 while local distribution center 118 includes asatellite receiver 120, for receiving content from the distributionnetwork 102. The distribution system 100 distributes, via satellite 102,the program content to a plurality of N local distribution centers 108,118, located in different geographic regions 104, 106. For example, asshown in FIG. 1 the distribution system 100 includes local distributioncenters 108, 118 corresponding to geographic regions 1 104 and N 106,respectively.

Each of the geographic regions 1 104, and N 106, serviced by one of thelocal distribution centers 108, 118 has a corresponding set of customerpremises, e.g., customer premise 1 112, customer premise 2 114, . . . ,customer premise N 116 in region 1 104 and customer premise 1 122,customer premise 2 124, . . . , customer premise N 126 in region N 106.The local distribution centers, e.g., local distribution center 108,118, included in geographic region 104, 106, each serve a plurality ofcustomers.

While the known approach to content distribution using satellites allowsfor content distribution restrictions to be implemented at a geographicregion level which is relatively localized, this is due to the presenceof satellite receivers at a relatively local level. Maintaining largenumbers of satellite receivers at numerous locations can be costly. Asthe cost of land based distribution networks continues to decrease, itwould be desirable if the number of satellite receiver stations could bedecreased without limiting the ability to control program distributionblackouts on a relatively localized geographic region basis using thesame satellite communications link used to provide program content fordistribution.

SUMMARY OF THE INVENTION

Methods and apparatus for distributing content via satellite whileenabling blackout of program content delivery to individual geographicregions are described.

In accordance with the invention, rather than providing an individualsatellite receiver for each individual geographic region which may besubject to a program blackout, a satellite receiver is located at anetwork head end which supplies content to multiple local contentdistribution systems, e.g., local cable office or headend, via adelivery network, e.g., a ring network used in some embodiments forcontent delivery.

While a single copy of program content may be received via satellite atthe network distribution headend, the headend delivers individual copiesof the content via the delivery network to each local contentdistribution system, e.g., using output ports and/or IP addressescorresponding to the individual local content distribution systems.While this approach results in greater network loading as compared tousing a broadcast address to deliver the content over the deliverynetwork, it allows for program content to be blocked in the networkheadend serving multiple geographic regions based on regional blackoutinformation and/or commands.

In accordance with one feature of the invention, program blackoutcommands specifying that program content should be restricted fromdelivery to specific geographic regions may be transmitted via satelliteto the distribution network headend. In this manner, content sources,e.g., providers of satellite content feeds, can control blackoutimplementation through use of the same satellite link used to distributethe content. In this manner, the content provider can control contentdistribution directly without having to rely on operators at regional orlocal distribution sites, e.g., local cable offices.

Furthermore, by having content distribution implemented in thedistribution network headend rather than individual local distributioncenters, the content distribution and substitution remains somewhatcentralized with content substitution being performed at relatively fewlocations nationwide even though the blackout restrictions may bespecified as corresponding to relatively small geographic regions whichmaybe only a small subset of the geographic regions served by anindividual regional distribution center.

While in some embodiments, the region subject to a content distributionblackout is indicated in a blackout command by specifying the name of ageographic region, in some embodiments the region is identified bysupplying a port and/or IP address used by the distribution networkheadend to distribute content via the distribution network to the regionsubject to the blackout. Providing such information identifying theregion subject to the blackout can facilitate implementation of theblackout and/or content substitution operation at the distributionnetwork headend eliminating or avoiding the need for the distributionnetwork headend to map geographic region names to port and/or IPaddresses affected by a regional blackout restriction.

Alternative content may optionally be specified for delivery in place ofprogram content which is prohibited from delivery to a geographic regionsubject to a blackout command.

Numerous additional methods, features, apparatus and benefits of thepresent invention are discussed in the detailed description whichfollows.

It should be appreciated that all features need not be used or includedin all embodiments and that a wide variety of content distributionmethods are possible.

Various additional features and advantages of the present invention arediscussed in the detailed description which follows.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a known content distribution system.

FIG. 2 illustrates an exemplary distribution system implemented inaccordance with the invention.

FIG. 3 illustrates an exemplary distribution network headend which canbe used in the system of FIG. 2.

FIG. 4 is a flowchart of an exemplary method of operating a distributornetwork headend in accordance with an exemplary embodiment.

FIGS. 5, 6 and 7 illustrate formats of various commands which can beused in the exemplary system of FIG. 2 to block delivery of programcontent to one or more geographic regions.

DETAILED DESCRIPTION

The present invention relates to methods and apparatus for controllingdelivery of program content to a region, and, more particularly, tomethods and apparatus that support controlled blocking of programcontent delivery in some regions, e.g., one or more geographic regions.In accordance with the invention port and/or IP address information canbe used to control which geographic region is blocked with regard to thedistribution of particular program content.

FIG. 2 illustrates an exemplary distribution system 200 implemented inaccordance with an exemplary embodiment of the invention.

The distribution system 200 includes a satellite 201 for transmitting,e.g., relaying, program content and commands from one or more contentsources, e.g., program content providers. In addition to satellite 201the system 200 includes a distribution network headend 202 including asatellite receiver 204, a distribution network 212, and a plurality oflocal geographic regions 214, . . . , 224, each including one or morelocal distribution centers 216, 226 which are coupled to thedistribution network 212. The distribution network may be implemented asa ring network and is used to provide content from the regional networkheadend to the various distribution centers coupled to the network ring.In various embodiments distribution network headend 202 is implementedas a land based network implemented using, e.g., fiber optic cable. Itshould be appreciated that a local geographic region may, and sometimesdoes, include more than one local distribution center. Also shown inFIG. 2, are customer locations served by each local distribution center,e.g., customer premise 218, customer premise 220 etc. served by localdistribution center 216 and customer premise 228, customer premise 230,etc., served by local distribution center 226.

The distribution network headend 202 receives content from, e.g., acontent source, e.g., a content provider which transmits to satellite201 for distribution. Received content may include a variety ofprograms, movies, T.V shows, on-demand content etc. The distributionnetwork headend includes a satellite receiver 204 via which the contentcommunicated by a remote content provider is received via a satellitelink by the distribution network headend 202. The distribution networkheadend includes an output interface that supports a plurality of ports,e.g., port 1 206, port 2 206, . . . , port N 210 which can be used todistribute content. It should be appreciated that the ports of aninterface used for outputting data, commonly referred to as outputports, can have a set relationship to an application type, e.g., acontent distribution application, IP address, and/or region depending onhow a system designer or an administrator has configured thedistribution system. In some embodiments, the distribution networkheadend 202 may deliver program content for, e.g., a local distributioncenter 216, 226 using a port number designated for use in distributingcontent to a specific local distribution center. However, in some otherembodiments the distribution network headend 202 is configured todeliver program content for, e.g., a regional distribution center, basedon a port number and IP address combination where the IP address isnormally a non-broadcast address corresponding to a local distributioncenter.

A satellite receiver 204 at the distribution network headend 202receives content and supplies it to the distribution network 212 fordelivery to the individual local distribution centers 224. In accordancewith the invention while a single satellite feed may be received atnetwork headend 202, multiple discrete copies of the received contentmay be sent over the distribution network 212, e.g., with a separatecopy in the form of one or more packets being sent to each localdistribution center authorized to distribute the particular programcontent. Local distribution centers which are not to receive particularcontent are not sent and are thus blocked from receiving the satellitecontent, or are supplied with alternative content. While the sending ofmultiple individual content streams which often contain the same programcontent over distribution network 212 may increase network loading ascompared to a broadcast distribution approach, the individual streamapproach has the advantage of placing control over content distributionand geographic based program blackouts at the distribution networkheadend as opposed to at the individual local distribution centers 216,226.

The distribution network 212 receives content streams, e.g., programcontent, output by the distribution network headend 202 and distributesthe received content streams to the distribution centers which areserviced by the distribution network headend 202. For example, in someembodiments the distribution network 212 receives various data packetsincluding the program content.

Local distribution centers, e.g., distribution center 216, 226 monitorsfor data packets which have their destination address , e.g., an IPaddress corresponding to that particular geographic region/distributioncenter. In accordance with the present invention, in some embodimentswhen a program content distribution is blocked at the distributorheadend output interface, then local distribution centers will notreceive data packets including the blocked program content. In someembodiments, the distributor headend is configured to output alternativeprogram content to regions where particular program content is to beblocked. In some such embodiments, the local distribution centers forwhich program content is blocked, receive the alternative programcontent through the distribution network 212.

FIG. 3 is a drawing of an exemplary distribution network headend 300which can be used as the distributor network headend 202. Thedistribution network head end 300 support selective duplication anddelivery of program content to various local distribution centers inaccordance with the various embodiments of the present invention. Thedistribution network head end 300 includes a receiver 302, an I/Ointerface 304, a processor 306, an IP address look-up module 307, acodec 308, a storage device 326, a program recovery module 310 and acommand recovery module 314 coupled together by a bus 309. The receiver302 is coupled to a satellite dish, e.g., antenna 303, for receivingcontent to be distributed from a satellite, e.g., satellite 201.

The various elements of the distributor network headend 300 can exchangedata and information over the bus 309. Via the I/O interface 304, thedistributor network headend 300 can exchange signals and/or informationwith other devices/ servers/networks, e.g., a national content storageserver which stores additional programs, movies etc., via, e.g.,distribution network 212. For example, the I/O interface 304 may supportthe receipt and/or transmission of content to/from a national contentserver as represented by arrow 340. The I/O interface 304 furthersupports the communication of application and/or control signals betweenthe distributor network headend 300 and other servers, distributioncenters and sub-systems, e.g. local/regional distribution centers 104and 106.

The satellite receiver 302 receives signals including, for example,content and command signals. The received content may include contentsubject to geographic based distribution restrictions while the commandsignals may include commands used to restrict or control contentdistribution, e.g., to enforce region based program blackouts. Thecommands may be supplied by the provider of the content beingdistributed and can be used to block out distribution to individualregions and/or control the supply of alternative content to particularlocal geographic regions. Received content may include, e.g., programcontent from a content provider, alternative program content to bedelivered in place of a blocked program etc.

The processor 306, e.g., a CPU, executes routines 340 stored in thememory 326 and, under direction of the routines 340, controls thedistributor network headend 300 to operate in accordance with theinvention. To control the headend 300, the processor 306 usesinformation and/or routines including instructions stored in memory 326.The processor 306 may control codec 308 which is a combinedcoder/decoder to perform various decoding and/or re-encoding operationson received content prior to distribution via distribution network 212.Thus, codec 308 can be used to support transcoding so that content willbe received by individual local distribution centers in formats and atrates best suited for the particular local distribution center to whicha content stream is sent even though it may be received from satellite201 in a different format or having a different data rate.

In addition to the above described elements, the headend 300 alsoincludes a content replication module 312 coupled to the programrecovery module 310, a program content distribution control module 316,a content substitution module 318 and a plurality ofselection/packetization modules 320, 322, 324, each corresponding to adifferent local distribution center which can be an output port numberand/or port/IP address pair used by the distribution network headend 300to stream packets including program content to an individual localdistribution center. Each of the selection/packetization module, i.e.,selection/packetization module 320, 322, . . . , and 324 has twoselection inputs S1 and S2 which are either open for supplying contentor closed depending on a control signal from the content distributioncontrol module 316, e.g., control signal C1, C2, . . . , CN as shown inFIG. 3. In addition to the controllable inputs, each selection modulealso has an output, which feeds the content output from the selectionmodule to a distribution network, e.g., distribution network 212 of FIG.2. Input S1 of each of the selection modules 320, 322, . . . , 324 iscoupled to the content substitution module 318. Each of the selectioninputs S2 of each of the selection modules 320, 322, . . . , 324 iscoupled to the content replication module 312. The program recoverymodule 310 is responsible for processing the received program contentand recovering the program to be distributed to various local/regionaldistribution centers, e.g., local distribution center 216 and 226. Insome embodiments, the program recovery module 310 is also responsiblefor putting the recovered program content in a suitable format fordistribution to various local distribution centers. The program recoverymodule 310 may use codec 308 for transcoding functions and/or when areduction in data rate is to be achieved through the use ofdecoding/re-encoding prior to distribution to one or more localdistribution centers. As noted above, received program content may andin many embodiments is, duplicated and distributed to local distributioncenters via separate and independent packet streams, e.g., non-multicastpacket streams.

The content replication module 312 is coupled to the program recoverymodule 310, and is configured to replicate the received program contentfor delivery to a plurality of different regional distribution centers.The distribution of the duplicated content is achieved using at leastone of i) different ports and ii) different IP addresses to indicatewhich of the different regional distribution centers particular contentis directed to. In this manner, packets containing duplicated contentcan be distributed using individual packet streams directed toindividual local distribution centers

The blackout of individual geographic regions and distribution ofcontent is controlled under the direction of commands received, e.g.,along with content to be distributed via the satellite downlink. Commandrecovery module 314 is responsible for processing commands received froma remote location, e.g., via satellite from a content provider at aremote location, to determine if the distribution of a program includedin the received content is to be blocked from delivery to a particularlocal region. The command recovery module 312 recovers commands fromreceived satellite signals and then supplies the commands to programcontent distribution control module 316 which is responsible forcontrolling distribution in accordance with the received commands. Inaccordance with the commands, content may be distributed to specificlocal regions, blocked from distribution to specific regions and/oralternative content may be distributed to a local distribution center inplace of blocked content. The alternative content may be specified by areceived command or determined by the local distribution center ordistribution network headend. The alternative content in someembodiments is an alternative content stream received via the satellitelink. In other embodiments the alternative content is obtained fromcontent stored at the distribution network headend .

In some embodiments the recovered commands supplied to the controlmodule 316 indicate the region for which the content delivery is to beblocked by specifying at least one of: i) a port number and ii) an IPaddress corresponding to the region to which content delivery is to beblocked. In some embodiments the command includes informationidentifying a geographic region from which program content is to beblocked. For example the command may indicate or specify a geographicregion identifier corresponding to a region for which the programcontent delivery is to be blocked. In some embodiments, the informationidentifying a geographic region is a name of the geographic region. Insuch embodiments the distributor headend 300 may use the IP addresslookup module 342 for determining, from the information identifying thegeographic region, an IP address of a distribution center, e.g., aregional distribution center, serving the identified geographic region.In some other embodiments, the command may include port number and/or IPaddress information corresponding to a region to which content deliveryis to be blocked.

In order to implement a received content distribution control command,program distribution control module 316 controls one or more ofselection/packetization modules 320, 322, 324 to select betweenoutputting content corresponding to a received program or alternatecontent. As can be seen in FIG. 3, the selection/packetization modules320, 322, 324 can output substitute programming content by packetizingand streaming the content supplied to substitute content input S1 oroutput the regular program content, e.g., when it is not subject toblackout restrictions, by packetizing and streaming the content suppliedto the second input S2. While the use of separate switching devices 320,322, 324 under the control of control module 316 is shown with eachswitching module corresponding to a different local distribution center,it should be appreciated that the switching between regular programcontent and alternative program content in response to a receivedcommand may be implemented in a plurality of ways.

It should be appreciated that routers and/or other content distributionsystems can be configured so that a port maps to a particularapplication, combination of application and IP address and/or some otheridentifier, e.g., a region identifier, that can be configured by asystem administrator. Thus, ports of an interface used for outputtingdata, commonly referred to as output ports, can have a set relationshipto an application type, IP address, and/or region depending on thesystem configuration. Therefore it should be appreciated that thedistribution control module 316 may control the headend to, in someembodiments, disable a port at the distributor network headend 300 thatoutputs the content to the distribution ring, e.g., distribution network212 of FIG. 2.

Content substitution module 318, among other things, is responsible foroutputting alternative program content to be supplied in place ofcontent which is being blocked with regard to a specific geographicregion for which a command indicates program content is to be blocked.The alternative content is selected and output on a per region basis,e.g., based on information included in a received command.

Having described various elements which are used to distribute content,block content for particular regions and/or supply alternative content,the various data, routines and other elements stored in memory used toimplement the methods of the invention will now be discussed further.The memory 326 includes various stored information and storage modules,e.g. such as the recovered program content 328 which stores the programcontent recovered by the program recovery module 310. Prior to supplyingthe program content to a plurality of regional distribution centers, thecontent replication module 312 uses the recovered program content 328 toreplicate received content. The memory further includes a port to regionmapping information 330, recovered alternative program content 332,locally stored content 334, scheduling information 336, informationregarding distribution centers 338, routines 340, IP address look-upmodule 342, received command 344 and specific alternative programcontent information 346. The port to region mapping information 330stores information regarding different ports corresponding to differentapplication, e.g., video, audio etc., in different regions. For example,in one embodiment port to region mapping information 330 includesinformation as to what port(s) in a geographic region, e.g., geographicregion 1 214 of FIG. 2, support the video and audio applications. Insome embodiments, the headend 300 uses this port to region mappinginformation 330 to disable the corresponding port(s) at the outputinterface e.g., port/IP address pair 1 321.

Recovered alternate program content 332 stores alternate program contentcommunicated by the content provider in the event a specific alternateprogram is indicated for distribution in place of the blocked programcontent. For example, in some embodiments it may be desired by thecontent provider that a specific program targeted specially for a regionand/or the customers in that region, be distributed in place of theblocked program content. In such an event, the content provider may sendspecific alternate program content for use in replacing the blockedprogram in the regions. Alternatively, in some other embodiments,alternative program content may be locally stored in the locally storedcontent 334.

Scheduling information 336 stores the timing and scheduling information,communicated by the content provider, about the time and/or the periodof time for which the program content delivery is to be blocked for aregion or regions. Scheduling information 336 may and in someembodiments is, used by program content distribution module 316 incombination with received commands to determine what content to deliverat a particular point in time. For example, if a pay per view program isto be broadcasted, e.g., from 9:00 PM to 11:00 PM, then, in someembodiments, the content provider would communicate thistiming/scheduling information to the headend 300 so that the headend 300can schedule and block the delivery of program content in a specifiedregion accordingly. In some embodiments scheduling information 336 alsoincludes information regarding the time when one or more alternativeprogram content should be distributed.

Information regarding distribution centers 338 includes, e.g.,information mapping different distribution centers to differentgeographic areas that the distribution center is serving. For example,in one embodiment information regarding distribution centers 338includes information that geographic area 1 214 is being served by localdistribution center 216, geographic area N 224 is being served by localdistribution center 226 and so on. Routines 340 include communicationsroutines and/or distributor network headend control routines.

IP address look-up information 342 includes information, e.g., a look-uptable, that maps a local distribution center serving a geographicregion, to an IP address associated with that distribution center. Insome embodiments, the look-up information 342 is dynamically updatedwhen a dynamic IP address associated with a distribution center changes.In some other embodiments it is also possible that a static IP addressmay be associated with a distribution center and in such cases an entryassociated with such a distribution center in the look-up information342 remains unchanged. The IP address look-up module 307 uses IP addresslook-up information 342 for determining from the information identifyinga geographic region, an IP address of a distribution center serving theidentified geographic region.

Received command 344 is a received command which is temporarily storedafter it is recovered by the command recovery module 314 prior to use bythe distribution control module 316.

FIG. 4 is a flowchart 400 of an exemplary content delivery method wherea distributor network headend, e.g., distribution network headend 300 ofFIG. 3, may block the delivery of program content to a particular regionin accordance with an exemplary embodiment. The distribution networkheadend 300 is configured to receive program content via satellite froma content source, e.g., a content provider and distribute the programcontent to a plurality of local distribution centers, e.g., localdistribution center 216, etc. Operation of the exemplary method startsin step 402 where the distribution network headend 300 is initialized.Operation proceeds from start step 402 to step 404.

In step 404 the distribution network headend 300 receives programcontent via a satellite communications link. Operation proceeds fromstep 404 to step 406.

In step 406 the distribution network headend 300 replicates the receivedprogram content for delivery to a plurality of local distributioncenters, e.g., local distribution centers 216, 226, etc. The networkheadend 300 uses at least one of i) different ports and ii) different IPaddresses for distribution of content to different regional distributioncenters. As discussed earlier in the example of FIG. 3, the distributionnetwork headend 300 includes a content replication module 312 which isconfigured to carry out the process of replicating the received programcontent. Operation proceeds from step 406 to step 408.

In step 408, the distribution network headend 300 receives a commandfrom a remote location to block the delivery of the received programcontent to a particular region or regions. In some embodiments thecommand is received via the satellite communications link. Operationproceeds from step 408 to step 410.

In step 410 the distribution network headend 300 processes the receivedcommand to determine if distribution of a program included in receivedprogram content is to be blocked from delivery to a region, e.g., aregion subject to a blackout of the particular program content. In someembodiments the received program content includes multiple programs thatmay, and sometimes are identified by, e.g., different program IDs. Themultiple programs may include movies, soap operas, pay-per-viewprograms, on-demand programs etc. In order to control the selectiveblocking of content distribution, a command received by the distributorheadend may, and sometime does, include, e.g., a program ID identifyinga program included in said received content to be blocked from deliveryto a particular region identified in the command. In some embodimentsthe received command indicates the region to which the content deliveryis to be blocked by specifying at least one of: i) a port number and ii)an IP address corresponding to the region to which content delivery isto be blocked. In some embodiments, received command includesinformation identifying both the port number and IP address. In otherembodiments, the command indicates the region to be blocked by one ormore other identifiers, e.g., by the name of the region. Operationproceeds from step 410 to step 412.

In step 412 the distribution network headend 300 determines and makes adecision whether or not program delivery is to be blocked for a region,based on the processing performed by the distributor headend in step410. When the received command does not indicate that a program deliverybe blocked for any region, operation proceeds from step 412 to 416.

Where the program content is distributed to a plurality ofregional/local distribution centers. The operation then proceeds fromstep 416 back to step 404.

In step 412, if the command indicates program delivery for a region isto be blocked, operation proceeds to step 414 rather than 416. In step414 the distributor headend recovers from the received command,information identifying a geographic region subject to a programblackout. The information may be a port number and IP addresscorresponding to a local content distribution center serving the regionfrom which program delivery is to be blocked. Operation proceeds fromstep 414 to step 418.

In optional step 418 the distribution network headend 300 receives, viathe satellite communications link, information indicating specificalternative program content to be distributed in place of the program tobe blocked. For example in some embodiments where it is desired to blockdelivery of a program to a region, a content provider may sendinformation to the distribution network headend 300 regarding thealternative program that should be distributed in place of the blockedprogram. In some such embodiments, the distribution network headend 300may already have the alternative program content in a storage device,e.g., locally stored content 334 of FIG. 3. However in some otherembodiments, the alternative program content may not be locally storedin the distribution network headend 300 in which case the distributorheadend may, and sometimes does request the alternative program from anoutside server, e.g., a national content server. Alternatively in someother embodiments, the content provider communicates the alternativeprogram content to the distribution network headend 300 fordistribution. In some embodiments, the information indicating specificalternative program content is included in the received command. Incases where alternative program content is not specified, thedistribution network headend 300 may select content to be distributed inplace of the blacked out content. Operation proceeds from step 418 whenimplemented to optional step 420.

In step 420, the distribution network headend 300 receives, via thesatellite communication link, alternative program content to bedistributed in place of the program to be blocked. It should beappreciated that step 420 is an optional step in some embodiments, i.e.,in some embodiments the content provider does not communicate thealternative program content to the distribution headend via thesatellite link. In some embodiments, a received command specifies thealternative program content to be displayed but the content is notsupplied by the satellite link. The alternative content may andsometimes is identified by, e.g., an alternative program/substituteprogram ID, which helps a program recovery module 310 in thedistribution network headend 300 to identify and retrieve thealternative program content. In some embodiments, the alternativeprogram is stored in the distribution headend 300 memory as, e.g.,locally stored content 334. The operation proceeds from optional step420 to step 422. In some embodiments where the optional steps 418 and420 are not used, operation proceeds directly from step 414 to step 422.

In step 422, using the information recovered from the received command,the distribution network headend 300 blocks the program from beingoutput using a port and/or an IP address corresponding to a localdistribution center corresponding to the geographic region subject tothe program blackout. In some embodiments, step 422 includes sub-step424 which may, and sometimes is, performed. In sub-step 424 thedistribution network headend 300 outputs the alternative program contentin place of the program content to be blocked using the port and/or IPaddress information corresponding to the geographic region subject tothe program blackout.

FIGS. 5, 6 and 7 illustrate different exemplary command formats forcommands to block delivery of program content which may be used invarious exemplary embodiments.

FIG. 5, illustrates the format of an exemplary command 500, to blockdelivery of program content in accordance with a first exemplaryembodiment. As shown in FIG. 5, the exemplary command 500 include fields502, 504, 506 and optionally 508.

Field 502 is a command type indicator field which indicates that command500 is a block command used to block program content from beingdelivered to a particular geographic region, e.g., a region subject to aprogram blackout. Field 504 is a program ID field which includesinformation identifying the specific program, which is to be blockedfrom being delivered to a geographic region or regions indicated in themessage. In some embodiments, field 504 includes a program identifiernumber. Field 506 is a geographic region identifier field. Thegeographic region identifier field 506 identifies the geographic regionsubject to a program blackout. The region subject to the blackout may beidentified by a name or IP address, and/or port number corresponding toa geographic region and/or local content distribution center serving theregion. In some embodiments, the distributor is able to identify ageographic region even if only the name of that region is provided inthe command. In some such embodiments, the distribution network headenduses the stored information 338 regarding different geographic regionsserved by different local/regional distribution centers. In suchembodiments the distributor headend may, and sometimes does, furtherinclude means for determining, from the geographic region identifier,e.g., information in field 506, an IP address of a distribution centerserving the identified geographic region. For example in someembodiments the distributor headend includes an IP address look-upmodule, e.g., look-up module 307, configured to determine, from thegeographic region identifier, an IP address of a distribution centerserving the identified geographic region

Field 508 is an optional substitute program ID field. Accordingly it maybe, and sometimes is, present in some embodiments while not present insome other embodiments. The substitute program ID field 508 includesinformation identifying a substitute program content, e.g., analternative program to be distributed to the region subject to theprogram blackout in place of the program to be blocked. Thus, thesubstitute program ID field 508 enables the distributor headend toidentify substitute/alternative program content to be output in place ofthe program content being blocked.

FIG. 6, illustrates format of another exemplary command 600, to blockdelivery of program content in accordance with another exemplaryembodiment. In accordance with the present invention, in someembodiments, a command received by the distributor headend indicates theregion to which content delivery is to be blocked by specifying at leastone of: i) port number and ii) an IP address corresponding to the regionto which content delivery is to be blocked. As shown in FIG. 6, theexemplary command 600 include different fields 602, 604, 606 and 608,each including different information and/or instruction for performing afunction. As can be seen from FIG. 6, the three fields in the exemplarycommand 600, i.e., field 602, 604 and 608 are similar to the fields 502,504 and 508, even though these fields have been identified usingdifferent numerals.

Field 602 indicates that command 600 is a command for blocking programcontent from being delivered to a region indicated in the message.

Program ID field 604 indicates the program to be blocked while field 606specify at least one of i) port number and ii) an IP addresscorresponding to the region to which content delivery is to be blocked.Providing the region information in this manner eliminates the need forthe distribution network headend to determine this information based onthe name of a region and can simplify the implementation of the blockingand program substitution operation. In some embodiments field 606includes either a port number or an IP address corresponding to theregion to which content delivery is to be blocked.

Optional substitute program ID field 608 when present indicates theprogram to be output in plae of the blocked program content.

FIG. 7 illustrates a format of another exemplary command 700, to blockdelivery of program content in accordance with yet another exemplaryembodiment. The command 700 includes command identifier 702, programidentifier 704, optional substitute program ID 710 and both a portnumber and IP address field 706, 708 used to indicate the region subjectto the indicated program blackout. The port number field 706 indicatesthe output port at the distribution network headend 300 corresponding tothe local region subject to the blackout while the IP address field 708is an address of the local distribution center in the geographic regionsubject to the blackout. Using the port and/or IP address, distributionof the blacked out program content to the geographic region subject tothe blackout, can be achieved and alternative content can optionally bedelivered in place of the blacked out program content.

While described in the context of a video delivery system, it should beappreciated that the methods and apparatus of the present invention arenot limited to the delivery of video content and can be used to supportdelivery of audio content and/or other types of information contentwhich may be subject to regional blackouts and/or other deliveryrestrictions.

In various embodiments system elements described herein are implementedusing one or more modules which are used to perform the stepscorresponding to one or more methods of the present invention. Each stepmay be performed by one or more different software instructions executedby a computer processor, e.g., a central processing unit (CPU) such asprocessor 306.

At least one system implemented in accordance with the present inventionincludes individual means for implementing each of the various stepswhich are part of the methods of the present invention. Each means maybe, e.g., an instruction, processor, hardware circuit and/or combinationof such elements used to implement a described step.

The commands described herein are often buffered and/or stored inmemory. Accordingly some embodiments are directed to a machine readablemedium including the commands discussed herein being stored on themachine readable medium. Many of the above described methods or methodsteps can be implemented using machine, e.g., computer, executableinstructions, such as software, included in a machine, e.g., computer,readable medium used to control a machine, e.g., general purposecomputer with or without additional hardware, to implement all orportions of the above described methods, e.g., in one or more nodes..The machine readable medium may be, e.g., a memory device, e.g., RAM,floppy disk, etc. Accordingly, among other things, the present inventionis directed to a machine-readable medium including machine executableinstructions for causing a machine, e.g., processor and associatedhardware, to perform one or more of the steps of the above-describedmethod(s).

Numerous additional embodiments, within the scope of the presentinvention, will be apparent to those of ordinary skill in the art inview of the above description and the claims which follow.

What is claimed is:
 1. A content delivery method, the method comprising:receiving content, at a distribution network headend, said distributionnetwork headend being coupled to local network headends by adistribution network, individual local network headends corresponding todifferent regions; processing, at said distribution network headend, acommand received indicating that a program included in said receivedcontent is to be blocked from delivery to a region; blocking, at saiddistribution network headend, distribution of said program to a localnetwork headend of the region which said received command has indicatedto be blocked; and distributing, from said distribution network headend,the received content to local network headends corresponding to at leastsome other regions.
 2. The method of claim 1, wherein distributing thereceived content includes: communicating separate copies of the receivedcontent to different local network headends corresponding to regionswhere the program is not to be blocked using: i) different ports at thedistribution network headend or ii) different port and IP addresscombinations for different local network headends.
 3. The method ofclaim 2, wherein blocking distribution of said program to the regionwhich said received command has indicated to be blocked includes:blocking, at said distribution network headend, said program from beingoutput using a port and an IP address used to deliver content to a localnetwork headend corresponding to the region from which the program is tobe blocked.
 4. The method of claim 1, wherein distributing, from saiddistribution network headend, the received content to local networkheadends corresponding to at least some other regions includesdistributing the received content to regions that are serviced bydifferent local network headends; and wherein the method furthercomprises replicating received content at said distribution networkheadend to generate multiple individual copies of the received content,one copy for each local network headend to which the content is to bedistributed.
 5. The method of claim 1, wherein said received commandindicates the region to which content delivery is to be blocked byspecifying: i) a port number and ii) an IP address corresponding to saidregion to which content delivery is to be blocked.
 6. The method ofclaim 5, wherein blocking distribution of said program to a localnetwork headend of the region which said received command has indicatedto be blocked includes blocking delivery of the program to said localnetwork headend using the port and the IP address corresponding to theregion to which content delivery is to be blocked.
 7. The method ofclaim 1, further comprising: receiving said command via a satellitecommunications link.
 8. The method of claim 7, wherein said commandincludes information identifying both the port number and the IPaddress, the method further comprising: recovering from the receivedcommand the information identifying the port number and IP addresscorresponding to said region from which delivery of the program is to beblocked; and wherein blocking said program includes: outputting, usingthe indicated port and IP address, alternative program content in placeof the program content to be blocked.
 9. The method of claim 8, furthercomprising: receiving via said satellite communications link,information indicating specific alternative program content to bedistributed in place of the program which is to be blocked.
 10. Themethod of claim 9, further comprising: receiving via said satellitecommunications link, the alternative program content to be distributedin addition to receiving said program which is to be blocked.
 11. Themethod of claim 10, wherein said specific alternative programmingcontent is locally stored programming content.
 12. A content deliverysystem, comprising: a distribution network headend including a receiverconfigured to receive content, said distribution network headend beingcoupled to local network headends by a distribution network, individuallocal network headends corresponding to different regions; a commandrecovery circuit configured to process, at said distribution networkheadend, a command indicating that a program included in said receivedcontent is to be blocked from delivery to a region; and a distributioncontrol circuit configured to: block, at said distribution networkheadend, distribution of said program to a local network headend of theregion which said received command has indicated to be blocked; andcontrol distribution, from said distribution network headend, of thereceived content to local network headends corresponding to at leastsome other regions.
 13. The content delivery system of claim 12, whereinsaid distribution control circuit is configured to communicate separatecopies of the received content to different local network headendscorresponding to regions where the program is not to be blocked using:i) different ports at the distribution network headend or ii) differentport and IP address combinations for different local network headends,as part of being configured to control distribution of the receivedcontent.
 14. The content delivery system of claim 13, wherein saiddistribution control circuit is configured to block, at saiddistribution network headend, said program from being output using aport and an IP address used to deliver content to a local networkheadend corresponding to the region from which the program is to beblocked, as part of being configured to block distribution of saidprogram to the local network headend of the region.
 15. The contentdelivery system of claim 12, wherein said distribution control circuitis further configured to control distribution of the received content toregions that are serviced by different local network headends; andwherein the content delivery system further comprises a contentreplication circuit configured to replicate received content at saiddistribution network headend to generate multiple individual copies ofthe received content, one copy for each local network headend to whichthe content is to be distributed.
 16. The content delivery system ofclaim 12, wherein said received command indicates the region to whichcontent delivery is to be blocked by specifying: i) a port number andii) an IP address corresponding to said region to which content deliveryis to be blocked.
 17. The content delivery system of claim 16, whereinsaid distribution control circuit is further configured to blockdelivery of said program to said local network headend using the portand the IP address corresponding to the region to which content deliveryis to be blocked.
 18. The content delivery system of claim 12, whereinsaid receiver is configured to receive said command via a satellitecommunications link.
 19. The content delivery system of claim 18,wherein said command includes information identifying both the portnumber and the IP address, wherein the content delivery system furthercomprises a recovery circuit configured to recover, from the receivedcommand, the information identifying the port number and IP addresscorresponding to said region from which delivery of the program is to beblocked; and wherein said distribution control circuit is furtherconfigured to control outputting of alternative program content in placeof the program content to be blocked using the indicated port and IPaddress.
 20. The content delivery system of claim 19, wherein saidreceiver is further configured to receive, via said satellitecommunications link, information indicating specific alternative programcontent to be distributed in place of the program which is to beblocked.